ARMEdit_TalkStart (SWI &4BC41) | |||||||
Register a new client task | |||||||
On entry: | R0 = | pre-allocated ID for this task | |||||
R1 = | flags (see below) | ||||||
R2 = | pointer to a function to be called when a message is available, or 0 for none | ||||||
R3 = | value for R12 to contain when function pointed to by R2 is called | ||||||
On exit: | R0 = | a unique client handle | |||||
R1 = | pointer to a poll word for this task | ||||||
Interrupts: | Interrupt status is undefined Fast interrupts are enabled | ||||||
Processor mode: | Processor is in SVC mode | ||||||
Re-entrancy: | SWI is not re-entrant | ||||||
Use: |
An application that provides services to PC software should call this when it is starting. A message buffer is allocated and a unique handle for this task assigned. This handle should be stored and used in all other calls relating to this task.
The currently defined flag bits are:
All other bits should be set to 0 to allow for future expansion. The poll word is initially set to zero. When there is potentially a message waiting for this task the poll word is set to a non-zero value. The poll word is cleared when either the message has been read, or no message is available for some other reason. Note that a non-zero poll word does not imply that a message will be available; another task might have read the message if it was not directed to a specific handle. The poll word must not be written to; it must only be modified by the ARMEdit module. | ||||||
Related SWIs: | ARMEdit_TalkEnd, ARMEdit_TalkTX, ARMEdit_TalkRX, ARMEdit_TalkAck, ARMEdit_TalkReply | ||||||
Related vectors: | None |
[Contents] [Up] | Copyright © Alexander Thoukydides, 2001 |